The modern communications era has brought about a tremendous expansion of wireline and wireless networks. Computer networks, television networks, and telephony networks are experiencing an unprecedented technological expansion, fueled by consumer demand. Wireless and mobile networking technologies have addressed related consumer demands, while providing more flexibility and immediacy of information transfer.
Current and future networking technologies continue to facilitate ease of information transfer and convenience to users. Due to the now ubiquitous nature of electronic communication devices, people of all ages and education levels are utilizing electronic devices to communicate with other individuals or contacts, receive services and/or share information, media and other content. One area in which there is a demand to increase ease of information transfer relates to cloud systems which store and share data for consumers of the cloud system.
At present, existing data modeling languages fail to meet the requirements for cloud systems. This is evident from the notion that current cloud systems endure the burden of defining their own data modeling language. Existing data modeling languages typically specify the structure of data by grouping the attributes or properties as types, and by specifying relationships between types. At present, cloud system data models not only contain the listing of properties and their constraints, but also contain object-metadata specifying processing directives to the cloud system, property annotations, index definitions and access control policies.
In addition to the above requirements, there are also some nonfunctional requirements that the data modeling language supports. For example, latency requirements, and the requirement that the data model is processed by the same components of the cloud system that processes instance data. Hence, the need for the data modeling language to share a common object model with the rest of the instance data.
There are several data modeling languages currently in existence such as JavaScript Object Notation (JSON) Schema, Resource Description Framework/Web Ontology Language (RDF/OWL), Extensible Markup Language (XML) Schema, among others. JSON Schema is a data modeling language for JSON. JSON Schema permits the definition of properties that constitute a type. However, there are several issues related to the use of JSON Schema. First of all, JSON Schema does not support property annotations. Secondly, there are no object models defined for JSON Schema. Furthermore, the combination of using JSON Schema and JSON relies on jpath for accessing JSON objects/JSON properties, further complicating the use of these technologies. The combination of JSON and JSON Schema is not expressive enough to validate the data models of cloud systems.
While RDF/OWL is a powerful data modeling language designed for use on the web there are issues with using RDF/owl such as the lack of JSON serialization for RDF/OWL, and the open world assumptions of RDF/OWL. These issues present significant hurdles in the adoption of RDF/OWL in cloud-based systems that require validation of data.
Although XML Schema is a data modeling language, XML Schema is inappropriate for JSON serialization since it relates to XML and not JSON.
In view of the foregoing drawbacks, there is a need for a data modeling language to share a common object model with the data of a cloud system.